The disclosed subject matter relates to networking systems in mobile environments. People have become more connected than ever. Mobile communications and the Internet are at the center of this phenomenon. The mobile environment can be defined as a combination of different network access technologies and communication devices, which a mobile device encounters in daily usage. Mobile applications can be used across different network technologies, and also, from multiple devices with diverse networking, computing and input/output features. Users can want mobile applications to work seamlessly across network technologies or administrative service domains and to be always connected to the best available network, and also, across different communication devices. With the increase in mobile devices, in order to provide a better user experience, service providers also need to manage infrastructure network resources and handle the increase in mobile broadband traffic efficiently.
Certain communication devices, e.g., smartphones, tablets, and laptops, have significant mobility and processing power that provide phone, computing, video, and data communication. These devices can have multiple network interfaces, such as Wi-Fi, WiMAX, LTE, and possibly a wired LAN. Cellular networks provide pervasive mobility with a large coverage area as compared other networks like Wi-Fi which only provide limited coverage. Also, there can be multiple service providers in the same geographic area in most of the regions around the world. However, communication devices can be limited where they only connect to one network interface at a time and/or are registered with only one service provider. Certain applications can provide seamless handovers across heterogeneous networks, but, users cannot control which network interface to use for a particular application or data type and there is no general framework to provide this functionality to all applications.
Internet services such as communications, streaming, online gaming, collaboration applications, etc., and also, desktop applications, can be accessed from different devices having different screen sizes, variable processing power, and battery requirements, for example, from smartphones, tablets, laptops, as well as Wi-Fi enabled TVs. Supporting a single application session across multiple devices can require session and personal mobility. For example, users can want to move an active session from a smartphone to a desktop PC or a video call to a Wi-Fi enabled screen and a desk phone, e.g., to improve their experience or due to battery concerns. Having mobility, however, can cause temporary communication disruptions due to reduction in signal strength, physical channel congestion, and/or network unavailability.
Users can move to places where there is no wireless Internet access at all or the user cannot readily access any of the networks, e.g., while traveling internationally. Thus, connectivity can be intermittent, with disruptions from seconds to hours or days. If there is no network connectivity, a device software can delay the transmission of data until a suitable network is found, i.e., disruption tolerance. Certain applications use this functionality, but, users cannot control which network interface to use for a particular application or data type and there is no general framework to provide this functionality to all applications.
Hence, there is a need for a networking system that provides a seamless user experience, improves overall network robustness by making use of multiple service providers and/or network interfaces, and enables seamless device-to-device communications.